Array Reference Allocation Using SSA-Form and Live Range Growth

نویسندگان

  • Marcelo Silva Cintra
  • Guido Araujo
چکیده

ABSTRACT Embedded systems exe uting spe ialized programs are playing an in reasing role in omputing. This trend has inreased the demand for pro essors that an guarantee highperforman e under stringent ost, power and ode size onstraints. Indire t addressing is by far the most used addressing mode in programs running on these systems, sin e it enables the design of small and faster instru tions. This paper proposes a solution to the problem of allo ating registers to array referen es using auto-in rement addressing modes. It extends previous work in the area, by enabling efient allo ation in the presen e of ontrolow statements. An optimizing DSP ompiler, from Conexant Systems In ., was used to validate this idea. Experimental results reveal a substantial improvement in ode performan e, when omparing to a priority-based register oloring algorithm.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Enhanced Parallelization via Analyses and Transformations on Array SSA Form

Array SSA form is a version of SSA form that captures precise element-level data flow information for array variables. As an example of program analysis using Array SSA form, we presented a conditional constant propagation algorithm that can lead to discovery of a larger set of constants than previous algorithms that analyze only scalar variables [7]. As an example of program transformation usi...

متن کامل

Register Spilling and Live-Range Splitting for SSA-Form Programs

Register allocation decides which parts of a variable’s live range are held in registers and which in memory. The compiler inserts spill code to move the values of variables between registers and memory. Since fetching data from memory is much slower than reading directly from a register, careful spill code insertion is critical for the performance of the compiled program. In this paper, we pre...

متن کامل

Enabling Sparse Constant Propagation of Array Elements via Array SSA Form

We present a new static analysis technique based on Array SSA form [6]. Compared to traditional SSA form, the key enhancement in Array SSA form is that it deals with arrays at the element level instead of as monolithic objects. In addition, Array SSA form improves the φ function used for merging scalar or array variables in traditional SSA form. The computation of a φ function in traditional SS...

متن کامل

Interconnect Optimization for High-Level Synthesis of SSA-Form Programs

Register Allocation for Programs in Static Single Assignment (SSA) Form has a Polynomial-Time Solution because interference graphs for procedures in this representation are chordal graphs. This paper explores a complementary problem which is NPComplete: the assignment of registers to variables in order to minimize interconnect costs. In particular, we attempt to minimize the size of the multipl...

متن کامل

Towards Register Allocation for Programs in SSA-form

In this technical report, we present an architecture for register allocation on the SSA-form. We show, how the properties of SSA-form programs and their interference graphs can be exploited to develop new methods for spilling, coloring and coalescing. We present heuristic and optimal solution methods for these three subtasks.

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2000